//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

function write(v) { WScript.Echo(v + ""); }

function foo() {}

write(new Number(Number.MIN_VALUE) - -0);
write(new Number(Number.MIN_VALUE) - 0);
write(new Number(Number.MIN_VALUE) - 0.0);
write(new Number(Number.MIN_VALUE) - -0.0);
write(new Number(Number.MIN_VALUE) - +0.0);
write(new Number(Number.MIN_VALUE) - 1);
write(new Number(Number.MIN_VALUE) - 10);
write(new Number(Number.MIN_VALUE) - 10.0);
write(new Number(Number.MIN_VALUE) - 10.1);
write(new Number(Number.MIN_VALUE) - -1);
write(new Number(Number.MIN_VALUE) - -10);
write(new Number(Number.MIN_VALUE) - -10.0);
write(new Number(Number.MIN_VALUE) - -10.1);
write(new Number(Number.MIN_VALUE) - Number.MAX_VALUE);
write(new Number(Number.MIN_VALUE) - Number.MIN_VALUE);
write(new Number(Number.MIN_VALUE) - Number.NaN);
write(new Number(Number.MIN_VALUE) - Number.POSITIVE_INFINITY);
write(new Number(Number.MIN_VALUE) - Number.NEGATIVE_INFINITY);
write(new Number(Number.MIN_VALUE) - new Number(NaN));
write(new Number(Number.MIN_VALUE) - new Number(+0));
write(new Number(Number.MIN_VALUE) - new Number(-0));
write(new Number(Number.MIN_VALUE) - new Number(0));
write(new Number(Number.MIN_VALUE) - new Number(0.0));
write(new Number(Number.MIN_VALUE) - new Number(-0.0));
write(new Number(Number.MIN_VALUE) - new Number(+0.0));
write(new Number(Number.MIN_VALUE) - new Number(1));
write(new Number(Number.MIN_VALUE) - new Number(10));
write(new Number(Number.MIN_VALUE) - new Number(10.0));
write(new Number(Number.MIN_VALUE) - new Number(10.1));
write(new Number(Number.MIN_VALUE) - new Number(-1));
write(new Number(Number.MIN_VALUE) - new Number(-10));
write(new Number(Number.MIN_VALUE) - new Number(-10.0));
write(new Number(Number.MIN_VALUE) - new Number(-10.1));
write(new Number(Number.MIN_VALUE) - new Number(Number.MAX_VALUE));
write(new Number(Number.MIN_VALUE) - new Number(Number.MIN_VALUE));
write(new Number(Number.MIN_VALUE) - new Number(Number.NaN));
write(new Number(Number.MIN_VALUE) - new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.MIN_VALUE) - new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.MIN_VALUE) - '');
write(new Number(Number.MIN_VALUE) - 0xa);
write(new Number(Number.MIN_VALUE) - 04);
write(new Number(Number.MIN_VALUE) - 'hello');
write(new Number(Number.MIN_VALUE) - 'hel' + 'lo');
write(new Number(Number.MIN_VALUE) - String(''));
write(new Number(Number.MIN_VALUE) - String('hello'));
write(new Number(Number.MIN_VALUE) - String('h' + 'ello'));
write(new Number(Number.MIN_VALUE) - new String(''));
write(new Number(Number.MIN_VALUE) - new String('hello'));
write(new Number(Number.MIN_VALUE) - new String('he' + 'llo'));
write(new Number(Number.MIN_VALUE) - new Object());
write(new Number(Number.MIN_VALUE) - new Object());
write(new Number(Number.MIN_VALUE) - [1, 2, 3]);
write(new Number(Number.MIN_VALUE) - [1 ,2 , 3]);
write(new Number(Number.MIN_VALUE) - new Array(3));
write(new Number(Number.MIN_VALUE) - Array(3));
write(new Number(Number.MIN_VALUE) - new Array(1 ,2 ,3));
write(new Number(Number.MIN_VALUE) - Array(1));
write(new Number(Number.MIN_VALUE) - foo);
write(new Number(Number.NaN) - undefined);
write(new Number(Number.NaN) - null);
write(new Number(Number.NaN) - true);
write(new Number(Number.NaN) - false);
write(new Number(Number.NaN) - Boolean(true));
write(new Number(Number.NaN) - Boolean(false));
write(new Number(Number.NaN) - new Boolean(true));
write(new Number(Number.NaN) - new Boolean(false));
write(new Number(Number.NaN) - NaN);
write(new Number(Number.NaN) - +0);
write(new Number(Number.NaN) - -0);
write(new Number(Number.NaN) - 0);
write(new Number(Number.NaN) - 0.0);
write(new Number(Number.NaN) - -0.0);
write(new Number(Number.NaN) - +0.0);
write(new Number(Number.NaN) - 1);
write(new Number(Number.NaN) - 10);
write(new Number(Number.NaN) - 10.0);
write(new Number(Number.NaN) - 10.1);
write(new Number(Number.NaN) - -1);
write(new Number(Number.NaN) - -10);
write(new Number(Number.NaN) - -10.0);
write(new Number(Number.NaN) - -10.1);
write(new Number(Number.NaN) - Number.MAX_VALUE);
write(new Number(Number.NaN) - Number.MIN_VALUE);
write(new Number(Number.NaN) - Number.NaN);
write(new Number(Number.NaN) - Number.POSITIVE_INFINITY);
write(new Number(Number.NaN) - Number.NEGATIVE_INFINITY);
write(new Number(Number.NaN) - new Number(NaN));
write(new Number(Number.NaN) - new Number(+0));
write(new Number(Number.NaN) - new Number(-0));
write(new Number(Number.NaN) - new Number(0));
write(new Number(Number.NaN) - new Number(0.0));
write(new Number(Number.NaN) - new Number(-0.0));
write(new Number(Number.NaN) - new Number(+0.0));
write(new Number(Number.NaN) - new Number(1));
write(new Number(Number.NaN) - new Number(10));
write(new Number(Number.NaN) - new Number(10.0));
write(new Number(Number.NaN) - new Number(10.1));
write(new Number(Number.NaN) - new Number(-1));
write(new Number(Number.NaN) - new Number(-10));
write(new Number(Number.NaN) - new Number(-10.0));
write(new Number(Number.NaN) - new Number(-10.1));
write(new Number(Number.NaN) - new Number(Number.MAX_VALUE));
write(new Number(Number.NaN) - new Number(Number.MIN_VALUE));
write(new Number(Number.NaN) - new Number(Number.NaN));
write(new Number(Number.NaN) - new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NaN) - new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NaN) - '');
write(new Number(Number.NaN) - 0xa);
write(new Number(Number.NaN) - 04);
write(new Number(Number.NaN) - 'hello');
write(new Number(Number.NaN) - 'hel' + 'lo');
write(new Number(Number.NaN) - String(''));
write(new Number(Number.NaN) - String('hello'));
write(new Number(Number.NaN) - String('h' + 'ello'));
write(new Number(Number.NaN) - new String(''));
write(new Number(Number.NaN) - new String('hello'));
write(new Number(Number.NaN) - new String('he' + 'llo'));
write(new Number(Number.NaN) - new Object());
write(new Number(Number.NaN) - new Object());
write(new Number(Number.NaN) - [1, 2, 3]);
write(new Number(Number.NaN) - [1 ,2 , 3]);
write(new Number(Number.NaN) - new Array(3));
write(new Number(Number.NaN) - Array(3));
write(new Number(Number.NaN) - new Array(1 ,2 ,3));
write(new Number(Number.NaN) - Array(1));
write(new Number(Number.NaN) - foo);
write(new Number(Number.POSITIVE_INFINITY) - undefined);
write(new Number(Number.POSITIVE_INFINITY) - null);
write(new Number(Number.POSITIVE_INFINITY) - true);
write(new Number(Number.POSITIVE_INFINITY) - false);
write(new Number(Number.POSITIVE_INFINITY) - Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) - Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) - new Boolean(true));
write(new Number(Number.POSITIVE_INFINITY) - new Boolean(false));
write(new Number(Number.POSITIVE_INFINITY) - NaN);
write(new Number(Number.POSITIVE_INFINITY) - +0);
write(new Number(Number.POSITIVE_INFINITY) - -0);
write(new Number(Number.POSITIVE_INFINITY) - 0);
write(new Number(Number.POSITIVE_INFINITY) - 0.0);
write(new Number(Number.POSITIVE_INFINITY) - -0.0);
write(new Number(Number.POSITIVE_INFINITY) - +0.0);
write(new Number(Number.POSITIVE_INFINITY) - 1);
write(new Number(Number.POSITIVE_INFINITY) - 10);
write(new Number(Number.POSITIVE_INFINITY) - 10.0);
write(new Number(Number.POSITIVE_INFINITY) - 10.1);
write(new Number(Number.POSITIVE_INFINITY) - -1);
write(new Number(Number.POSITIVE_INFINITY) - -10);
write(new Number(Number.POSITIVE_INFINITY) - -10.0);
write(new Number(Number.POSITIVE_INFINITY) - -10.1);
write(new Number(Number.POSITIVE_INFINITY) - Number.MAX_VALUE);
write(new Number(Number.POSITIVE_INFINITY) - Number.MIN_VALUE);
write(new Number(Number.POSITIVE_INFINITY) - Number.NaN);
write(new Number(Number.POSITIVE_INFINITY) - Number.POSITIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) - Number.NEGATIVE_INFINITY);
write(new Number(Number.POSITIVE_INFINITY) - new Number(NaN));
write(new Number(Number.POSITIVE_INFINITY) - new Number(+0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(-0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(0.0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(-0.0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(+0.0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(1));
write(new Number(Number.POSITIVE_INFINITY) - new Number(10));
write(new Number(Number.POSITIVE_INFINITY) - new Number(10.0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(10.1));
write(new Number(Number.POSITIVE_INFINITY) - new Number(-1));
write(new Number(Number.POSITIVE_INFINITY) - new Number(-10));
write(new Number(Number.POSITIVE_INFINITY) - new Number(-10.0));
write(new Number(Number.POSITIVE_INFINITY) - new Number(-10.1));
write(new Number(Number.POSITIVE_INFINITY) - new Number(Number.MAX_VALUE));
write(new Number(Number.POSITIVE_INFINITY) - new Number(Number.MIN_VALUE));
write(new Number(Number.POSITIVE_INFINITY) - new Number(Number.NaN));
write(new Number(Number.POSITIVE_INFINITY) - new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) - new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.POSITIVE_INFINITY) - '');
write(new Number(Number.POSITIVE_INFINITY) - 0xa);
write(new Number(Number.POSITIVE_INFINITY) - 04);
write(new Number(Number.POSITIVE_INFINITY) - 'hello');
write(new Number(Number.POSITIVE_INFINITY) - 'hel' + 'lo');
write(new Number(Number.POSITIVE_INFINITY) - String(''));
write(new Number(Number.POSITIVE_INFINITY) - String('hello'));
write(new Number(Number.POSITIVE_INFINITY) - String('h' + 'ello'));
write(new Number(Number.POSITIVE_INFINITY) - new String(''));
write(new Number(Number.POSITIVE_INFINITY) - new String('hello'));
write(new Number(Number.POSITIVE_INFINITY) - new String('he' + 'llo'));
write(new Number(Number.POSITIVE_INFINITY) - new Object());
write(new Number(Number.POSITIVE_INFINITY) - new Object());
write(new Number(Number.POSITIVE_INFINITY) - [1, 2, 3]);
write(new Number(Number.POSITIVE_INFINITY) - [1 ,2 , 3]);
write(new Number(Number.POSITIVE_INFINITY) - new Array(3));
write(new Number(Number.POSITIVE_INFINITY) - Array(3));
write(new Number(Number.POSITIVE_INFINITY) - new Array(1 ,2 ,3));
write(new Number(Number.POSITIVE_INFINITY) - Array(1));
write(new Number(Number.POSITIVE_INFINITY) - foo);
write(new Number(Number.NEGATIVE_INFINITY) - undefined);
write(new Number(Number.NEGATIVE_INFINITY) - null);
write(new Number(Number.NEGATIVE_INFINITY) - true);
write(new Number(Number.NEGATIVE_INFINITY) - false);
write(new Number(Number.NEGATIVE_INFINITY) - Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) - Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) - new Boolean(true));
write(new Number(Number.NEGATIVE_INFINITY) - new Boolean(false));
write(new Number(Number.NEGATIVE_INFINITY) - NaN);
write(new Number(Number.NEGATIVE_INFINITY) - +0);
write(new Number(Number.NEGATIVE_INFINITY) - -0);
write(new Number(Number.NEGATIVE_INFINITY) - 0);
write(new Number(Number.NEGATIVE_INFINITY) - 0.0);
write(new Number(Number.NEGATIVE_INFINITY) - -0.0);
write(new Number(Number.NEGATIVE_INFINITY) - +0.0);
write(new Number(Number.NEGATIVE_INFINITY) - 1);
write(new Number(Number.NEGATIVE_INFINITY) - 10);
write(new Number(Number.NEGATIVE_INFINITY) - 10.0);
write(new Number(Number.NEGATIVE_INFINITY) - 10.1);
write(new Number(Number.NEGATIVE_INFINITY) - -1);
write(new Number(Number.NEGATIVE_INFINITY) - -10);
write(new Number(Number.NEGATIVE_INFINITY) - -10.0);
write(new Number(Number.NEGATIVE_INFINITY) - -10.1);
write(new Number(Number.NEGATIVE_INFINITY) - Number.MAX_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) - Number.MIN_VALUE);
write(new Number(Number.NEGATIVE_INFINITY) - Number.NaN);
write(new Number(Number.NEGATIVE_INFINITY) - Number.POSITIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) - Number.NEGATIVE_INFINITY);
write(new Number(Number.NEGATIVE_INFINITY) - new Number(NaN));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(+0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(-0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(0.0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(-0.0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(+0.0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(1));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(10));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(10.0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(10.1));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(-1));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(-10));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(-10.0));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(-10.1));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(Number.MAX_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(Number.MIN_VALUE));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(Number.NaN));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(Number.POSITIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) - new Number(Number.NEGATIVE_INFINITY));
write(new Number(Number.NEGATIVE_INFINITY) - '');
write(new Number(Number.NEGATIVE_INFINITY) - 0xa);
write(new Number(Number.NEGATIVE_INFINITY) - 04);
write(new Number(Number.NEGATIVE_INFINITY) - 'hello');
write(new Number(Number.NEGATIVE_INFINITY) - 'hel' + 'lo');
write(new Number(Number.NEGATIVE_INFINITY) - String(''));
write(new Number(Number.NEGATIVE_INFINITY) - String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) - String('h' + 'ello'));
write(new Number(Number.NEGATIVE_INFINITY) - new String(''));
write(new Number(Number.NEGATIVE_INFINITY) - new String('hello'));
write(new Number(Number.NEGATIVE_INFINITY) - new String('he' + 'llo'));
write(new Number(Number.NEGATIVE_INFINITY) - new Object());
write(new Number(Number.NEGATIVE_INFINITY) - new Object());
write(new Number(Number.NEGATIVE_INFINITY) - [1, 2, 3]);
write(new Number(Number.NEGATIVE_INFINITY) - [1 ,2 , 3]);
write(new Number(Number.NEGATIVE_INFINITY) - new Array(3));
write(new Number(Number.NEGATIVE_INFINITY) - Array(3));
write(new Number(Number.NEGATIVE_INFINITY) - new Array(1 ,2 ,3));
write(new Number(Number.NEGATIVE_INFINITY) - Array(1));
write(new Number(Number.NEGATIVE_INFINITY) - foo);
write('' - undefined);
write('' - null);
write('' - true);
write('' - false);
write('' - Boolean(true));
write('' - Boolean(false));
write('' - new Boolean(true));
write('' - new Boolean(false));
write('' - NaN);
write('' - +0);
write('' - -0);
write('' - 0);
write('' - 0.0);
write('' - -0.0);
write('' - +0.0);
write('' - 1);
write('' - 10);
write('' - 10.0);
write('' - 10.1);
write('' - -1);
write('' - -10);
write('' - -10.0);
write('' - -10.1);
write('' - Number.MAX_VALUE);
write('' - Number.MIN_VALUE);
write('' - Number.NaN);
write('' - Number.POSITIVE_INFINITY);
write('' - Number.NEGATIVE_INFINITY);
write('' - new Number(NaN));
write('' - new Number(+0));
write('' - new Number(-0));
write('' - new Number(0));
write('' - new Number(0.0));
write('' - new Number(-0.0));
write('' - new Number(+0.0));
write('' - new Number(1));
write('' - new Number(10));
write('' - new Number(10.0));
write('' - new Number(10.1));
write('' - new Number(-1));
write('' - new Number(-10));
write('' - new Number(-10.0));
write('' - new Number(-10.1));
write('' - new Number(Number.MAX_VALUE));
write('' - new Number(Number.MIN_VALUE));
write('' - new Number(Number.NaN));
write('' - new Number(Number.POSITIVE_INFINITY));
write('' - new Number(Number.NEGATIVE_INFINITY));
write('' - '');
write('' - 0xa);
write('' - 04);
write('' - 'hello');
write('' - 'hel' + 'lo');
write('' - String(''));
write('' - String('hello'));
write('' - String('h' + 'ello'));
write('' - new String(''));
write('' - new String('hello'));
write('' - new String('he' + 'llo'));
write('' - new Object());
write('' - new Object());
write('' - [1, 2, 3]);
write('' - [1 ,2 , 3]);
write('' - new Array(3));
write('' - Array(3));
write('' - new Array(1 ,2 ,3));
write('' - Array(1));
write('' - foo);
write(0xa - undefined);
write(0xa - null);
write(0xa - true);
write(0xa - false);
write(0xa - Boolean(true));
write(0xa - Boolean(false));
write(0xa - new Boolean(true));
write(0xa - new Boolean(false));
write(0xa - NaN);
write(0xa - +0);
write(0xa - -0);
write(0xa - 0);
write(0xa - 0.0);
write(0xa - -0.0);
write(0xa - +0.0);
write(0xa - 1);
write(0xa - 10);
write(0xa - 10.0);
write(0xa - 10.1);
write(0xa - -1);
write(0xa - -10);
write(0xa - -10.0);
write(0xa - -10.1);
write(0xa - Number.MAX_VALUE);
write(0xa - Number.MIN_VALUE);
write(0xa - Number.NaN);
write(0xa - Number.POSITIVE_INFINITY);
write(0xa - Number.NEGATIVE_INFINITY);
write(0xa - new Number(NaN));
write(0xa - new Number(+0));
write(0xa - new Number(-0));
write(0xa - new Number(0));
write(0xa - new Number(0.0));
write(0xa - new Number(-0.0));
write(0xa - new Number(+0.0));
write(0xa - new Number(1));
write(0xa - new Number(10));
write(0xa - new Number(10.0));
write(0xa - new Number(10.1));
write(0xa - new Number(-1));
write(0xa - new Number(-10));
write(0xa - new Number(-10.0));
write(0xa - new Number(-10.1));
write(0xa - new Number(Number.MAX_VALUE));
write(0xa - new Number(Number.MIN_VALUE));
write(0xa - new Number(Number.NaN));
write(0xa - new Number(Number.POSITIVE_INFINITY));
write(0xa - new Number(Number.NEGATIVE_INFINITY));
write(0xa - '');
write(0xa - 0xa);
write(0xa - 04);
write(0xa - 'hello');
write(0xa - 'hel' + 'lo');
write(0xa - String(''));
write(0xa - String('hello'));
write(0xa - String('h' + 'ello'));
write(0xa - new String(''));
write(0xa - new String('hello'));
write(0xa - new String('he' + 'llo'));
write(0xa - new Object());
write(0xa - new Object());
write(0xa - [1, 2, 3]);
write(0xa - [1 ,2 , 3]);
write(0xa - new Array(3));
write(0xa - Array(3));
write(0xa - new Array(1 ,2 ,3));
write(0xa - Array(1));
write(0xa - foo);
write(04 - undefined);
write(04 - null);
write(04 - true);
write(04 - false);
write(04 - Boolean(true));
write(04 - Boolean(false));
write(04 - new Boolean(true));
write(04 - new Boolean(false));
write(04 - NaN);
write(04 - +0);
write(04 - -0);
write(04 - 0);
write(04 - 0.0);
write(04 - -0.0);
write(04 - +0.0);
write(04 - 1);
write(04 - 10);
write(04 - 10.0);
write(04 - 10.1);
write(04 - -1);
write(04 - -10);
write(04 - -10.0);
write(04 - -10.1);
write(04 - Number.MAX_VALUE);
write(04 - Number.MIN_VALUE);
write(04 - Number.NaN);
write(04 - Number.POSITIVE_INFINITY);
write(04 - Number.NEGATIVE_INFINITY);
write(04 - new Number(NaN));
write(04 - new Number(+0));
write(04 - new Number(-0));
write(04 - new Number(0));
write(04 - new Number(0.0));
write(04 - new Number(-0.0));
write(04 - new Number(+0.0));
write(04 - new Number(1));
write(04 - new Number(10));
write(04 - new Number(10.0));
write(04 - new Number(10.1));
write(04 - new Number(-1));
write(04 - new Number(-10));
write(04 - new Number(-10.0));
write(04 - new Number(-10.1));
write(04 - new Number(Number.MAX_VALUE));
write(04 - new Number(Number.MIN_VALUE));
write(04 - new Number(Number.NaN));
write(04 - new Number(Number.POSITIVE_INFINITY));
write(04 - new Number(Number.NEGATIVE_INFINITY));
write(04 - '');
write(04 - 0xa);
write(04 - 04);
write(04 - 'hello');
write(04 - 'hel' + 'lo');
write(04 - String(''));
write(04 - String('hello'));
write(04 - String('h' + 'ello'));
write(04 - new String(''));
write(04 - new String('hello'));
write(04 - new String('he' + 'llo'));
write(04 - new Object());
write(04 - new Object());
write(04 - [1, 2, 3]);
write(04 - [1 ,2 , 3]);
write(04 - new Array(3));
write(04 - Array(3));
write(04 - new Array(1 ,2 ,3));
write(04 - Array(1));
write(04 - foo);
write('hello' - undefined);
write('hello' - null);
write('hello' - true);
write('hello' - false);
write('hello' - Boolean(true));
write('hello' - Boolean(false));
write('hello' - new Boolean(true));
write('hello' - new Boolean(false));
write('hello' - NaN);
write('hello' - +0);
write('hello' - -0);
write('hello' - 0);
write('hello' - 0.0);
write('hello' - -0.0);
write('hello' - +0.0);
write('hello' - 1);
write('hello' - 10);
write('hello' - 10.0);
write('hello' - 10.1);
write('hello' - -1);
write('hello' - -10);
write('hello' - -10.0);
write('hello' - -10.1);
write('hello' - Number.MAX_VALUE);
write('hello' - Number.MIN_VALUE);
write('hello' - Number.NaN);
write('hello' - Number.POSITIVE_INFINITY);
write('hello' - Number.NEGATIVE_INFINITY);
write('hello' - new Number(NaN));
write('hello' - new Number(+0));
write('hello' - new Number(-0));
write('hello' - new Number(0));
write('hello' - new Number(0.0));
write('hello' - new Number(-0.0));
write('hello' - new Number(+0.0));
write('hello' - new Number(1));
write('hello' - new Number(10));
write('hello' - new Number(10.0));
write('hello' - new Number(10.1));
write('hello' - new Number(-1));
write('hello' - new Number(-10));
write('hello' - new Number(-10.0));
write('hello' - new Number(-10.1));
write('hello' - new Number(Number.MAX_VALUE));
write('hello' - new Number(Number.MIN_VALUE));
write('hello' - new Number(Number.NaN));
write('hello' - new Number(Number.POSITIVE_INFINITY));
write('hello' - new Number(Number.NEGATIVE_INFINITY));
write('hello' - '');
write('hello' - 0xa);
write('hello' - 04);
write('hello' - 'hello');
write('hello' - 'hel' + 'lo');
write('hello' - String(''));
write('hello' - String('hello'));
write('hello' - String('h' + 'ello'));
write('hello' - new String(''));
write('hello' - new String('hello'));
write('hello' - new String('he' + 'llo'));
write('hello' - new Object());
write('hello' - new Object());
write('hello' - [1, 2, 3]);
write('hello' - [1 ,2 , 3]);
write('hello' - new Array(3));
write('hello' - Array(3));
write('hello' - new Array(1 ,2 ,3));
write('hello' - Array(1));
write('hello' - foo);
write('hel' + 'lo' - undefined);
write('hel' + 'lo' - null);
write('hel' + 'lo' - true);
write('hel' + 'lo' - false);
write('hel' + 'lo' - Boolean(true));
write('hel' + 'lo' - Boolean(false));
write('hel' + 'lo' - new Boolean(true));
write('hel' + 'lo' - new Boolean(false));
write('hel' + 'lo' - NaN);
write('hel' + 'lo' - +0);
write('hel' + 'lo' - -0);
write('hel' + 'lo' - 0);
write('hel' + 'lo' - 0.0);
write('hel' + 'lo' - -0.0);
write('hel' + 'lo' - +0.0);
write('hel' + 'lo' - 1);
write('hel' + 'lo' - 10);
write('hel' + 'lo' - 10.0);
write('hel' + 'lo' - 10.1);
write('hel' + 'lo' - -1);
write('hel' + 'lo' - -10);
write('hel' + 'lo' - -10.0);
write('hel' + 'lo' - -10.1);
write('hel' + 'lo' - Number.MAX_VALUE);
write('hel' + 'lo' - Number.MIN_VALUE);
write('hel' + 'lo' - Number.NaN);
write('hel' + 'lo' - Number.POSITIVE_INFINITY);
write('hel' + 'lo' - Number.NEGATIVE_INFINITY);
write('hel' + 'lo' - new Number(NaN));
write('hel' + 'lo' - new Number(+0));
write('hel' + 'lo' - new Number(-0));
write('hel' + 'lo' - new Number(0));
write('hel' + 'lo' - new Number(0.0));
write('hel' + 'lo' - new Number(-0.0));
write('hel' + 'lo' - new Number(+0.0));
write('hel' + 'lo' - new Number(1));
write('hel' + 'lo' - new Number(10));
write('hel' + 'lo' - new Number(10.0));
write('hel' + 'lo' - new Number(10.1));
write('hel' + 'lo' - new Number(-1));
write('hel' + 'lo' - new Number(-10));
write('hel' + 'lo' - new Number(-10.0));
write('hel' + 'lo' - new Number(-10.1));
write('hel' + 'lo' - new Number(Number.MAX_VALUE));
write('hel' + 'lo' - new Number(Number.MIN_VALUE));
write('hel' + 'lo' - new Number(Number.NaN));
write('hel' + 'lo' - new Number(Number.POSITIVE_INFINITY));
write('hel' + 'lo' - new Number(Number.NEGATIVE_INFINITY));
write('hel' + 'lo' - '');
write('hel' + 'lo' - 0xa);
write('hel' + 'lo' - 04);
write('hel' + 'lo' - 'hello');
write('hel' + 'lo' - 'hel' + 'lo');
write('hel' + 'lo' - String(''));
write('hel' + 'lo' - String('hello'));
write('hel' + 'lo' - String('h' + 'ello'));
write('hel' + 'lo' - new String(''));
write('hel' + 'lo' - new String('hello'));
write('hel' + 'lo' - new String('he' + 'llo'));
write('hel' + 'lo' - new Object());
write('hel' + 'lo' - new Object());
write('hel' + 'lo' - [1, 2, 3]);
write('hel' + 'lo' - [1 ,2 , 3]);
write('hel' + 'lo' - new Array(3));
write('hel' + 'lo' - Array(3));
write('hel' + 'lo' - new Array(1 ,2 ,3));
write('hel' + 'lo' - Array(1));
write('hel' + 'lo' - foo);
write(String('') - undefined);
write(String('') - null);
write(String('') - true);
write(String('') - false);
write(String('') - Boolean(true));
write(String('') - Boolean(false));
write(String('') - new Boolean(true));
write(String('') - new Boolean(false));
write(String('') - NaN);
write(String('') - +0);
write(String('') - -0);
write(String('') - 0);
write(String('') - 0.0);
write(String('') - -0.0);
write(String('') - +0.0);
write(String('') - 1);
write(String('') - 10);
write(String('') - 10.0);
write(String('') - 10.1);
write(String('') - -1);
write(String('') - -10);
write(String('') - -10.0);
write(String('') - -10.1);
write(String('') - Number.MAX_VALUE);
write(String('') - Number.MIN_VALUE);
write(String('') - Number.NaN);
write(String('') - Number.POSITIVE_INFINITY);
write(String('') - Number.NEGATIVE_INFINITY);
write(String('') - new Number(NaN));
write(String('') - new Number(+0));
write(String('') - new Number(-0));
write(String('') - new Number(0));
write(String('') - new Number(0.0));
write(String('') - new Number(-0.0));
write(String('') - new Number(+0.0));
write(String('') - new Number(1));
write(String('') - new Number(10));
write(String('') - new Number(10.0));
write(String('') - new Number(10.1));
write(String('') - new Number(-1));
write(String('') - new Number(-10));
write(String('') - new Number(-10.0));
write(String('') - new Number(-10.1));
write(String('') - new Number(Number.MAX_VALUE));
write(String('') - new Number(Number.MIN_VALUE));
write(String('') - new Number(Number.NaN));
write(String('') - new Number(Number.POSITIVE_INFINITY));
write(String('') - new Number(Number.NEGATIVE_INFINITY));
write(String('') - '');
write(String('') - 0xa);
write(String('') - 04);
write(String('') - 'hello');
write(String('') - 'hel' + 'lo');
write(String('') - String(''));
write(String('') - String('hello'));
write(String('') - String('h' + 'ello'));
write(String('') - new String(''));
write(String('') - new String('hello'));
write(String('') - new String('he' + 'llo'));
write(String('') - new Object());
write(String('') - new Object());
write(String('') - [1, 2, 3]);
write(String('') - [1 ,2 , 3]);
write(String('') - new Array(3));
write(String('') - Array(3));
write(String('') - new Array(1 ,2 ,3));
write(String('') - Array(1));
write(String('') - foo);
write(String('hello') - undefined);
write(String('hello') - null);
write(String('hello') - true);
write(String('hello') - false);
write(String('hello') - Boolean(true));
write(String('hello') - Boolean(false));
write(String('hello') - new Boolean(true));
write(String('hello') - new Boolean(false));
write(String('hello') - NaN);
write(String('hello') - +0);
write(String('hello') - -0);
write(String('hello') - 0);
write(String('hello') - 0.0);
write(String('hello') - -0.0);
write(String('hello') - +0.0);
write(String('hello') - 1);
write(String('hello') - 10);
write(String('hello') - 10.0);
write(String('hello') - 10.1);
write(String('hello') - -1);
write(String('hello') - -10);
write(String('hello') - -10.0);
write(String('hello') - -10.1);
write(String('hello') - Number.MAX_VALUE);
write(String('hello') - Number.MIN_VALUE);
write(String('hello') - Number.NaN);
write(String('hello') - Number.POSITIVE_INFINITY);
write(String('hello') - Number.NEGATIVE_INFINITY);
write(String('hello') - new Number(NaN));
write(String('hello') - new Number(+0));
write(String('hello') - new Number(-0));
write(String('hello') - new Number(0));
write(String('hello') - new Number(0.0));
write(String('hello') - new Number(-0.0));
write(String('hello') - new Number(+0.0));
write(String('hello') - new Number(1));
write(String('hello') - new Number(10));
write(String('hello') - new Number(10.0));
write(String('hello') - new Number(10.1));
write(String('hello') - new Number(-1));
write(String('hello') - new Number(-10));
write(String('hello') - new Number(-10.0));
write(String('hello') - new Number(-10.1));
write(String('hello') - new Number(Number.MAX_VALUE));
write(String('hello') - new Number(Number.MIN_VALUE));
write(String('hello') - new Number(Number.NaN));
write(String('hello') - new Number(Number.POSITIVE_INFINITY));
write(String('hello') - new Number(Number.NEGATIVE_INFINITY));
write(String('hello') - '');
write(String('hello') - 0xa);
write(String('hello') - 04);
write(String('hello') - 'hello');
write(String('hello') - 'hel' + 'lo');
write(String('hello') - String(''));
write(String('hello') - String('hello'));
write(String('hello') - String('h' + 'ello'));
write(String('hello') - new String(''));
write(String('hello') - new String('hello'));
write(String('hello') - new String('he' + 'llo'));
write(String('hello') - new Object());
write(String('hello') - new Object());
write(String('hello') - [1, 2, 3]);
write(String('hello') - [1 ,2 , 3]);
write(String('hello') - new Array(3));
write(String('hello') - Array(3));
write(String('hello') - new Array(1 ,2 ,3));
write(String('hello') - Array(1));
write(String('hello') - foo);
write(String('h' + 'ello') - undefined);
write(String('h' + 'ello') - null);
write(String('h' + 'ello') - true);
write(String('h' + 'ello') - false);
write(String('h' + 'ello') - Boolean(true));
write(String('h' + 'ello') - Boolean(false));
write(String('h' + 'ello') - new Boolean(true));
write(String('h' + 'ello') - new Boolean(false));
write(String('h' + 'ello') - NaN);
write(String('h' + 'ello') - +0);
write(String('h' + 'ello') - -0);
write(String('h' + 'ello') - 0);
write(String('h' + 'ello') - 0.0);
write(String('h' + 'ello') - -0.0);
write(String('h' + 'ello') - +0.0);
write(String('h' + 'ello') - 1);
write(String('h' + 'ello') - 10);
write(String('h' + 'ello') - 10.0);
write(String('h' + 'ello') - 10.1);
write(String('h' + 'ello') - -1);
write(String('h' + 'ello') - -10);
write(String('h' + 'ello') - -10.0);
write(String('h' + 'ello') - -10.1);
write(String('h' + 'ello') - Number.MAX_VALUE);
write(String('h' + 'ello') - Number.MIN_VALUE);
write(String('h' + 'ello') - Number.NaN);
write(String('h' + 'ello') - Number.POSITIVE_INFINITY);
write(String('h' + 'ello') - Number.NEGATIVE_INFINITY);
write(String('h' + 'ello') - new Number(NaN));
write(String('h' + 'ello') - new Number(+0));
write(String('h' + 'ello') - new Number(-0));
write(String('h' + 'ello') - new Number(0));
write(String('h' + 'ello') - new Number(0.0));
write(String('h' + 'ello') - new Number(-0.0));
write(String('h' + 'ello') - new Number(+0.0));
write(String('h' + 'ello') - new Number(1));
write(String('h' + 'ello') - new Number(10));
write(String('h' + 'ello') - new Number(10.0));
write(String('h' + 'ello') - new Number(10.1));
write(String('h' + 'ello') - new Number(-1));
write(String('h' + 'ello') - new Number(-10));
write(String('h' + 'ello') - new Number(-10.0));
write(String('h' + 'ello') - new Number(-10.1));
write(String('h' + 'ello') - new Number(Number.MAX_VALUE));
write(String('h' + 'ello') - new Number(Number.MIN_VALUE));
write(String('h' + 'ello') - new Number(Number.NaN));
write(String('h' + 'ello') - new Number(Number.POSITIVE_INFINITY));
write(String('h' + 'ello') - new Number(Number.NEGATIVE_INFINITY));
write(String('h' + 'ello') - '');
write(String('h' + 'ello') - 0xa);
write(String('h' + 'ello') - 04);
write(String('h' + 'ello') - 'hello');
write(String('h' + 'ello') - 'hel' + 'lo');
write(String('h' + 'ello') - String(''));
write(String('h' + 'ello') - String('hello'));
write(String('h' + 'ello') - String('h' + 'ello'));
write(String('h' + 'ello') - new String(''));
write(String('h' + 'ello') - new String('hello'));
write(String('h' + 'ello') - new String('he' + 'llo'));
write(String('h' + 'ello') - new Object());
write(String('h' + 'ello') - new Object());
write(String('h' + 'ello') - [1, 2, 3]);
write(String('h' + 'ello') - [1 ,2 , 3]);
write(String('h' + 'ello') - new Array(3));
write(String('h' + 'ello') - Array(3));
write(String('h' + 'ello') - new Array(1 ,2 ,3));
write(String('h' + 'ello') - Array(1));
write(String('h' + 'ello') - foo);
write(new String('') - undefined);
write(new String('') - null);
write(new String('') - true);
write(new String('') - false);
write(new String('') - Boolean(true));
write(new String('') - Boolean(false));
write(new String('') - new Boolean(true));
write(new String('') - new Boolean(false));
write(new String('') - NaN);
write(new String('') - +0);
write(new String('') - -0);
write(new String('') - 0);
write(new String('') - 0.0);
write(new String('') - -0.0);
write(new String('') - +0.0);
write(new String('') - 1);
write(new String('') - 10);
write(new String('') - 10.0);
write(new String('') - 10.1);
write(new String('') - -1);
write(new String('') - -10);
write(new String('') - -10.0);
write(new String('') - -10.1);
write(new String('') - Number.MAX_VALUE);
write(new String('') - Number.MIN_VALUE);
write(new String('') - Number.NaN);
write(new String('') - Number.POSITIVE_INFINITY);
write(new String('') - Number.NEGATIVE_INFINITY);
write(new String('') - new Number(NaN));
write(new String('') - new Number(+0));
write(new String('') - new Number(-0));
write(new String('') - new Number(0));
write(new String('') - new Number(0.0));
write(new String('') - new Number(-0.0));
write(new String('') - new Number(+0.0));
write(new String('') - new Number(1));
write(new String('') - new Number(10));
write(new String('') - new Number(10.0));
write(new String('') - new Number(10.1));
write(new String('') - new Number(-1));
write(new String('') - new Number(-10));
write(new String('') - new Number(-10.0));
write(new String('') - new Number(-10.1));
write(new String('') - new Number(Number.MAX_VALUE));
write(new String('') - new Number(Number.MIN_VALUE));
write(new String('') - new Number(Number.NaN));
write(new String('') - new Number(Number.POSITIVE_INFINITY));
write(new String('') - new Number(Number.NEGATIVE_INFINITY));
write(new String('') - '');
write(new String('') - 0xa);
write(new String('') - 04);
write(new String('') - 'hello');
write(new String('') - 'hel' + 'lo');
write(new String('') - String(''));
write(new String('') - String('hello'));
write(new String('') - String('h' + 'ello'));
write(new String('') - new String(''));
write(new String('') - new String('hello'));
write(new String('') - new String('he' + 'llo'));
write(new String('') - new Object());
write(new String('') - new Object());
write(new String('') - [1, 2, 3]);
write(new String('') - [1 ,2 , 3]);
write(new String('') - new Array(3));
write(new String('') - Array(3));
write(new String('') - new Array(1 ,2 ,3));
write(new String('') - Array(1));
write(new String('') - foo);
write(new String('hello') - undefined);
write(new String('hello') - null);
write(new String('hello') - true);
write(new String('hello') - false);
write(new String('hello') - Boolean(true));
write(new String('hello') - Boolean(false));
write(new String('hello') - new Boolean(true));
write(new String('hello') - new Boolean(false));
write(new String('hello') - NaN);
write(new String('hello') - +0);
write(new String('hello') - -0);
write(new String('hello') - 0);
write(new String('hello') - 0.0);
write(new String('hello') - -0.0);
write(new String('hello') - +0.0);
write(new String('hello') - 1);
write(new String('hello') - 10);
write(new String('hello') - 10.0);
write(new String('hello') - 10.1);
write(new String('hello') - -1);
write(new String('hello') - -10);
write(new String('hello') - -10.0);
write(new String('hello') - -10.1);
write(new String('hello') - Number.MAX_VALUE);
write(new String('hello') - Number.MIN_VALUE);
write(new String('hello') - Number.NaN);
write(new String('hello') - Number.POSITIVE_INFINITY);
write(new String('hello') - Number.NEGATIVE_INFINITY);
write(new String('hello') - new Number(NaN));
write(new String('hello') - new Number(+0));
write(new String('hello') - new Number(-0));
write(new String('hello') - new Number(0));
write(new String('hello') - new Number(0.0));
write(new String('hello') - new Number(-0.0));
write(new String('hello') - new Number(+0.0));
write(new String('hello') - new Number(1));
write(new String('hello') - new Number(10));
write(new String('hello') - new Number(10.0));
write(new String('hello') - new Number(10.1));
write(new String('hello') - new Number(-1));
write(new String('hello') - new Number(-10));
write(new String('hello') - new Number(-10.0));
write(new String('hello') - new Number(-10.1));
write(new String('hello') - new Number(Number.MAX_VALUE));
write(new String('hello') - new Number(Number.MIN_VALUE));
write(new String('hello') - new Number(Number.NaN));
write(new String('hello') - new Number(Number.POSITIVE_INFINITY));
write(new String('hello') - new Number(Number.NEGATIVE_INFINITY));
write(new String('hello') - '');
write(new String('hello') - 0xa);
write(new String('hello') - 04);
write(new String('hello') - 'hello');
write(new String('hello') - 'hel' + 'lo');
write(new String('hello') - String(''));
write(new String('hello') - String('hello'));
write(new String('hello') - String('h' + 'ello'));
write(new String('hello') - new String(''));
write(new String('hello') - new String('hello'));
write(new String('hello') - new String('he' + 'llo'));
write(new String('hello') - new Object());
write(new String('hello') - new Object());
write(new String('hello') - [1, 2, 3]);
write(new String('hello') - [1 ,2 , 3]);
write(new String('hello') - new Array(3));
write(new String('hello') - Array(3));
write(new String('hello') - new Array(1 ,2 ,3));
write(new String('hello') - Array(1));
write(new String('hello') - foo);
write(new String('he' + 'llo') - undefined);
write(new String('he' + 'llo') - null);
write(new String('he' + 'llo') - true);
write(new String('he' + 'llo') - false);
write(new String('he' + 'llo') - Boolean(true));
write(new String('he' + 'llo') - Boolean(false));
write(new String('he' + 'llo') - new Boolean(true));
write(new String('he' + 'llo') - new Boolean(false));
write(new String('he' + 'llo') - NaN);
write(new String('he' + 'llo') - +0);
write(new String('he' + 'llo') - -0);
write(new String('he' + 'llo') - 0);
write(new String('he' + 'llo') - 0.0);
write(new String('he' + 'llo') - -0.0);
write(new String('he' + 'llo') - +0.0);
write(new String('he' + 'llo') - 1);
write(new String('he' + 'llo') - 10);
write(new String('he' + 'llo') - 10.0);
write(new String('he' + 'llo') - 10.1);
write(new String('he' + 'llo') - -1);
write(new String('he' + 'llo') - -10);
write(new String('he' + 'llo') - -10.0);
write(new String('he' + 'llo') - -10.1);
write(new String('he' + 'llo') - Number.MAX_VALUE);
write(new String('he' + 'llo') - Number.MIN_VALUE);
write(new String('he' + 'llo') - Number.NaN);
write(new String('he' + 'llo') - Number.POSITIVE_INFINITY);
write(new String('he' + 'llo') - Number.NEGATIVE_INFINITY);
write(new String('he' + 'llo') - new Number(NaN));
write(new String('he' + 'llo') - new Number(+0));
write(new String('he' + 'llo') - new Number(-0));
write(new String('he' + 'llo') - new Number(0));
write(new String('he' + 'llo') - new Number(0.0));
write(new String('he' + 'llo') - new Number(-0.0));
write(new String('he' + 'llo') - new Number(+0.0));
write(new String('he' + 'llo') - new Number(1));
write(new String('he' + 'llo') - new Number(10));
write(new String('he' + 'llo') - new Number(10.0));
write(new String('he' + 'llo') - new Number(10.1));
write(new String('he' + 'llo') - new Number(-1));
write(new String('he' + 'llo') - new Number(-10));
write(new String('he' + 'llo') - new Number(-10.0));
write(new String('he' + 'llo') - new Number(-10.1));
write(new String('he' + 'llo') - new Number(Number.MAX_VALUE));
write(new String('he' + 'llo') - new Number(Number.MIN_VALUE));
write(new String('he' + 'llo') - new Number(Number.NaN));
write(new String('he' + 'llo') - new Number(Number.POSITIVE_INFINITY));
write(new String('he' + 'llo') - new Number(Number.NEGATIVE_INFINITY));
write(new String('he' + 'llo') - '');
write(new String('he' + 'llo') - 0xa);
write(new String('he' + 'llo') - 04);
write(new String('he' + 'llo') - 'hello');
write(new String('he' + 'llo') - 'hel' + 'lo');
write(new String('he' + 'llo') - String(''));
write(new String('he' + 'llo') - String('hello'));
write(new String('he' + 'llo') - String('h' + 'ello'));
write(new String('he' + 'llo') - new String(''));
write(new String('he' + 'llo') - new String('hello'));
write(new String('he' + 'llo') - new String('he' + 'llo'));
